<?php

namespace App\Http\Controllers\Common;

use App\Http\Controllers\Controller;
use App\Models\Upload;
use Illuminate\Http\Request;

class UploadController extends Controller
{
    //文件上传方法
    public function make(Request $request,Upload $upload){
//        dd($request->file()->getClientOriginalExtension());
        //定义上传文件存放的路径
        $dir ='upload/'.date('ym');
        //定义上传文件在服务器上的名字(不能使用用户的文件名以免名称之间相互冲突)
        $fileName = auth()->id().'-'.str_random(6).time().'.'.$request->file->getClientOriginalExtension();
        //对上传的文件进行操作
        $file = $request->file->move($dir,$fileName);
//        dd($file);
//        完成上传移动工作之后,将这次上传文件的信息写入数据库中
        $upload['user_id'] = auth()->id();
        $upload['path'] = str_replace('\\','/',url($file));
        $upload['url'] = str_replace('\\','/',url($file));
        $upload['name'] = $request->file->getClientOriginalName();
//        然后调用save方法将上面的这条数据保存到数据表中
//            这属于往数据表中单条单条创建数据,单条创建数据不受模型中fileadle属性的影响
        //
        $upload->save();
        //下面这个return是hdjs上传文件要求的返回
        return ['file'=>url($file),'code'=>0];
    }

    public function lists(){
//        显示上传的图片
        $upload = Upload::paginate(8);
//        dd($upload->toArray());
        return [
            'data'=> $upload->toArray()['data'],
            'page'=> $upload->links().'',
            'code'=>0,
        ];

    }
}
